People often work together in groups to achieve common goals. Members of a workgroup should have convenient access to all of the documents relating to a topic or project. In contemporary workplaces, shared documents are usually stored on a file server connected to a network and accessible through networked computers. However, this arrangement proves restrictive when team members are situated in widely disparate locations.
Most software applications are single-user systems. For example, with an image editing application such as Adobe Photoshop™, a user opens an image file and edits it. While one user works on an image file, other users may not simultaneously open and edit the same file. Similarly, most word processors are single-user systems. While one user has a file open and in use, other users may not simultaneously open and edit the file.
When workers collaborate on a project, situations may arise in which two or more workers attempt to simultaneously access a shared document. Most collaborative groupware or computing environments offer limited or no support for such activity.
A common approach to collaboration is to circulate documents, often as email attachments, among members of a team. In this arrangement, all team members agree to let one member (“ball carrier”) have exclusive control of a document until he or she finishes editing it and emails it to another team member. There can be only one ball carrier at a time, and only the ball carrier may edit the document. If other workgroup members edit separate copies of the document while the ball carrier has control of it, the multiple versions of the document must later be merged and conflicting co-edited sections resolved.
Document type incompatibilities may arise when circulating a document in this manner. For example, a text document may become unreadable if different team members edit it using different word processors or even using different versions of the same word processor. Additionally, technical problems may arise with the transmission of email attachments. Some email servers arbitrarily restrict the size of attachments. Those that exceed a certain threshold size are not accepted. A large document, such as a large slide presentation document, may not be circulable to all workgroup members.
Some applications achieve limited collaboration. For example, Microsoft NetMeeting™ provides application sharing. During a NetMeeting session, a user may share an application running on his or her machine with others. The various session participants take turns controlling the application. While one participant has control of the application, the others can watch his or her activity, such as editing or scrolling through a document, on their screens. However, as with document circulation, only one user may edit a document at any given time.
Lotus Notes™, another widely used groupware system, uses a special database to store shared information. Replicas of the database are distributed to several network servers or client machines. A workgroup member with appropriate access privileges may make modifications to information stored in his or her local copy of a replicated database. All active replicas are periodically reconciled. However, if conflicts arise as replicas are compared and merged, Notes is limited in its ability to automatically resolve the conflicts.
Several online services provide subscribers with a “virtual hard drive” for their documents. Subscribers may upload shared documents through a Web-based interface to a remote storage server accessible by all workgroup members. Documents may later be downloaded to any computer with Web access. This arrangement is a modest improvement over circulating documents via email attachments. However, while one team member has a document signed out of the service, others may not work on it.
Thus, there is a need in the art for a system that facilitates simultaneous multi-user editing of shared documents. The system is preferably platform independent to allow users with different computing platform to utilize it.